package cn.iocoder.yudao.module.base.api;

import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.base.api.dto.ProductWarehouseRespDTO;
import cn.iocoder.yudao.module.base.dal.dataobject.productwarehouse.ProductWarehouseDO;
import cn.iocoder.yudao.module.base.service.productwarehouse.ProductWarehouseService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * @Author: Ljx
 * @createTime: 2024年04月25日 19:10:02
 * @version: v1.0.0
 * @Description: 产品仓储信息API实现
 */
@Service
public class ProductWarehouseApiImpl implements ProductWarehouseApi {

    @Resource
    private ProductWarehouseService productWarehouseService;

    @Override
    public ProductWarehouseRespDTO getFirstProductWarehouseByInWarehouse(Long id) {
        ProductWarehouseDO productWarehouse = productWarehouseService.getFirstProductWarehouseByInWarehouse(id);
        return BeanUtils.toBean(productWarehouse, ProductWarehouseRespDTO.class);
    }

    @Override
    public ProductWarehouseRespDTO getFirstProductWarehouseByOutWarehouse(Long id) {
        ProductWarehouseDO productWarehouse = productWarehouseService.getFirstProductWarehouseByOutWarehouse(id);
        return BeanUtils.toBean(productWarehouse, ProductWarehouseRespDTO.class);
    }

    @Override
    public ProductWarehouseRespDTO getFirstProductWarehouseByInPosition(Long id) {
        ProductWarehouseDO productWarehouse = productWarehouseService.getFirstProductWarehouseByInPosition(id);
        return BeanUtils.toBean(productWarehouse, ProductWarehouseRespDTO.class);
    }

    @Override
    public ProductWarehouseRespDTO getFirstProductWarehouseByOutPosition(Long id) {
        ProductWarehouseDO productWarehouse = productWarehouseService.getFirstProductWarehouseByOutPosition(id);
        return BeanUtils.toBean(productWarehouse, ProductWarehouseRespDTO.class);
    }
}
